import API from '@/services/api'
import {request, METHOD} from '@/utils/request'

/**
 * 查询组织机构树
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryOrganizationTree() {
  return request(API.ORGANIZATION_QUERY_ORGANIZATION_TREE, METHOD.POST)
}

/**
 * 查询上级组织机构树
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryParentTree(params) {
  return request(API.ORGANIZATION_QUERY_PARENT_TREE, METHOD.POST, params)
}

/**
 * 查询组织机构列表
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryList(params) {
  return request(API.ORGANIZATION_QUERY_LIST, METHOD.POST, params)
}

/**
 * 查询组织机构
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function query(params) {
  return request(API.ORGANIZATION_QUERY, METHOD.POST, params)
}

/**
 * 新增组织机构
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function add(params) {
  return request(API.ORGANIZATION_ADD, METHOD.POST, params)
}

/**
 * 编辑组织机构
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function edit(params) {
  return request(API.ORGANIZATION_EDIT, METHOD.POST, params)
}

/**
 * 删除组织机构
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function del(params) {
  return request(API.ORGANIZATION_DELETE, METHOD.POST, params)
}

export default {
  queryOrganizationTree,
  queryParentTree,
  queryList,
  query,
  add,
  edit,
  del
}
